import ACCESS_ENUM from '@/enums/accessEnum.ts'

/**
 * 检查权限(判断用户是否有这个权限)
 * @param loginUser 当前登录用户
 * @param needAccess 需要有的权限
 * @return boolean 有无权限
 */
const checkAccess = (loginUser: any, needAccess = ACCESS_ENUM.NOT_LOGIN) => {
  //获取当前用户权限，没有loginUser表示未登录
  const loginUserAccess = loginUser?.userRole ?? ACCESS_ENUM.NOT_LOGIN
  // 未登录就能访问
  if (needAccess === ACCESS_ENUM.NOT_LOGIN) {
    return true
  }
  // 用户就能访问的路由
  if (needAccess === ACCESS_ENUM.USER) {
    //如果用户没登陆，就无权限。
    if (loginUserAccess === ACCESS_ENUM.NOT_LOGIN) {
      return false
    }
  }
  // 管理员才能访问。
  if (needAccess === ACCESS_ENUM.ADMIN) {
    // 不为管理员则无权限。
    if (loginUserAccess !== ACCESS_ENUM.ADMIN) {
      return false
    }
  }
  return true
}

export default checkAccess
